<?php
class klausuren_model extends CI_Model {

	public function __construct()
	{
		$this->load->database();
	}
	
	public function get_klausuren()
	{
		$query = $this->db->get('klausuren');
		return $query->result_array();		
	}
	
	public function get_klausuren_id($klausurenid)
	{
		#$this -> db -> select('ID','Beschreibung','Fach');
   		$this -> db -> from('klausuren');
		$this -> db -> where('ID', $klausurenid);
		
		$query = $this -> db -> get();
		
		return $query->row_array();
	}
	
	public function get_all($limit,$offset)
	{
		$this->db->limit($limit,$offset);
		$query = $this->db->get('klausuren');
		return $query->result_array();
	}
	
	public function get_count()
	{
		return $this->db->count_all_results('klausuren');
	}
	
	public function set_klausuren()
	{
		$this->load->helper('url');

		$ID = url_title($this->input->post('Beschreibung'), 'dash', TRUE);

		if ($this->input->post('Freigabe') == "on" ){
		  // checkbox wurde "ausgewählt"
		  $freigabe = 1;
		} else{
		  // checkbox wurde nicht "ausgewählt"
		  $freigabe = 0;
		}
		
		if ($this->input->post('ErgebnisFreigabe') == "on" ){
		  // checkbox wurde "ausgewählt"
		  $ergebnisfreigabe = 1;
		} else{
		  // checkbox wurde nicht "ausgewählt"
		  $ergebnisfreigabe = 0;
		}
		$data = array(
			'Beschreibung' => $this->input->post('Beschreibung'),
			'ID' => $ID,
			'Fach' => $this->input->post('Fach'),
			'AnzahlFragen' => $this->input->post('AnzahlFragen'),
			'KurseCode' => $this->input->post('KurseCode'),
			'NotenCode' => $this->input->post('NotenCode'),
			'Password' => MD5($this->input->post('Password')),
			'Dauer' => $this->input->post('Dauer'),
			'Freigabe' => $freigabe,
			'ErgebnisFreigabe' => $ergebnisfreigabe
		);

		return $this->db->insert('klausuren', $data);
	}
	
	public function validate_klausuren($klausurenid)
	{
		$this->load->helper('url');
		
		$ID = url_title($this->input->post('Beschreibung'), 'dash', TRUE);
		
		if ($this->input->post('Freigabe') == "on" ){
		  // checkbox wurde "ausgewählt"
		  $freigabe = 1;
		} else{
		  // checkbox wurde nicht "ausgewählt"
		  $freigabe = 0;
		}
		if ($this->input->post('ErgebnisFreigabe') == "on" ){
		  // checkbox wurde "ausgewählt"
		  $ergebnisfreigabe = 1;
		} else{
		  // checkbox wurde nicht "ausgewählt"
		  $ergebnisfreigabe = 0;
		}
		
		if($this->input->post('Password') == '')
		{
			$data = array(
				'Beschreibung' => $this->input->post('Beschreibung'),
				'Fach' => $this->input->post('Fach'),
				'AnzahlFragen' => $this->input->post('AnzahlFragen'),
				'KurseCode' => $this->input->post('KurseCode'),
				'Freigabe' => $freigabe,
				'ErgebnisFreigabe' => $ergebnisfreigabe,
				'Dauer' => $this->input->post('Dauer'),
				'NotenCode' => $this->input->post('NotenCode'),
			);
	
			$where = array('ID' => $klausurenid);
			return  $this->db->update('klausuren',$data,$where);
		}
		else {
			$data = array(
				'Beschreibung' => $this->input->post('Beschreibung'),
				'Fach' => $this->input->post('Fach'),
				'AnzahlFragen' => $this->input->post('AnzahlFragen'),
				'KurseCode' => $this->input->post('KurseCode'),
				'Freigabe' => $freigabe,
				'NotenCode' => $this->input->post('NotenCode'),
				'Dauer' => $this->input->post('Dauer'),
				'Password' => MD5($this->input->post('Password'))
			);
	
			$where = array('ID' => $klausurenid);
			return  $this->db->update('klausuren',$data,$where);
		}
	}

	public function get_klausurabgegeben($klausur,$schueler)
	{
		$this -> db -> where('KlausurenID',$klausur);
		$this -> db -> where('SchuelerID',$schueler);
		$this -> db -> from('klausurenschueler');
		
		$query = $this -> db -> get();
		//return $query->result_array();
		$result = $query->result_array();
		
		if(!empty($result))
		{
			return $result[0]['Abgegeben'];
		}
		else 
		{
			//$this->klausuren_model->set_klausurenschueler($klausur, $schueler);
			$data = array(
			'KlausurenID' => $klausur,
			'SchuelerID' => $schueler,
			'Abgegeben' => 0
			);
		
			$this->db->insert('klausurenschueler', $data);		
			
			return 0;
		}
	}
	
	public function set_klausurenschueler($klausur,$schueler)
	{
		
		$this -> db -> where('KlausurenID',$klausur);
		$this -> db -> where('SchuelerID',$schueler);
		
		$this -> db -> set('Abgegeben',1);

		return $this->db->update('klausurenschueler');
	}
	
	public function get_schuelerklausuren($kurse)
	{
		foreach($kurse as $row)
		{
			$filter[] = $row['KurseCode'];		
		}

		$this -> db -> from('klausuren');
		$this -> db -> where_in('KurseCode', $filter);

		$query = $this -> db -> get();
		
		return $query->result_array();
	}

	public function get_schuelerfachklausuren($kurse,$fach,$limit,$offset)
	{
		foreach($kurse as $row)
		{
			$filter[] = $row['KurseCode'];		
		}
		
		$this->load->helper('url');
		
		$this->db->limit($limit,$offset);
		
		if($fach <> 'Alle')
		{
			$this -> db -> where('Fach', $fach);
		}

		$this -> db -> from('klausuren');
		$this -> db -> where_in('KurseCode', $filter);

		$query = $this -> db -> get();
		
		return $query->result_array();
	}
	
	public function get_schuelerfachklausurcount($fach,$kurse)
	{
		foreach($kurse as $row)
		{
			$filter[] = $row['KurseCode'];		
		}
		
		if($fach <> 'Alle')
		{
			$this -> db -> where('Fach', $fach);
		}
		
		$this -> db -> from('klausuren');
		$this -> db -> where_in('KurseCode', $filter);
		return $this->db->count_all_results();
	}
	
	public function klausurlogin($id, $password)
	{
		//$this -> db -> select('ID','Password','Freigabe');
 	    $this -> db -> from('klausuren');
 	    $this -> db -> where('ID', $id);
 	    $this -> db -> where('Password', MD5($password));
	    $this -> db -> where('Freigabe', '1');
	    $this -> db -> limit(1);
		 
	    $query = $this -> db -> get();
	 
	    if($query -> num_rows() == 1)
	    {
	    	return $query->result();
	    }
	    else
	    {
	    	return false;
	    }	
	}

	public function get_fachklausur($fach,$limit,$offset)
	{
		$this->load->helper('url');
		
		$this->db->limit($limit,$offset);
		
		$this -> db -> from('klausuren');
		if($fach <> 'Alle')
		{
			$this -> db -> where('Fach', $fach);
		}

		$query = $this -> db -> get();
		
		return $query->result_array();
	}
	
	public function get_fachkursklausur($fach,$kurs,$limit,$offset)
	{
		$this->load->helper('url');
		
		$this->db->limit($limit,$offset);
		
		$this -> db -> from('klausuren');
		if($fach <> 'Alle')
		{
			$this -> db -> where('Fach', $fach);
		}

		if($kurs <> 'Alle')
		{
			$this -> db -> where('KurseCode', $kurs);
		}
		
		$query = $this -> db -> get();
		
		return $query->result_array();
	}
	
	public function get_fachcount($fach)
	{
		if($fach <> 'Alle')
		{
			$this -> db -> where('Fach', $fach);
		}
		$this -> db -> from('klausuren');
		return $this->db->count_all_results();
	}
	
	public function get_fachkurscount($fach,$kurs)
	{
		if($fach <> 'Alle')
		{
			$this -> db -> where('Fach', $fach);
		}
		if($kurs <> 'Alle')
		{
			$this -> db -> where('KurseCode', $kurs);
		}
		$this -> db -> from('klausuren');
		return $this->db->count_all_results();
	}
	
}
?>